/**
 * 27-运营-物流询价-管理 <br/>
 *
 * @author fsl gongl 20151124.
 */
(function ($) {
    'use strict';

    /**
     * 初始化页面.比如: 状态-下拉列表框.<br/>
     *
     * @author fsl-gonglong-20151126.
     */
    function initPage() {

        // 状态
        adminUtil.getSelectHtml("#state", PAGE_DATA.state_data || []);
    };

    /**
     * 绑定事件.<br/>
     *
     * @author fsl-gonglong-20151126.
     */
    function bindEvent() {
        
        // 搜索. 
        $("#search-btn").on("click", function(){
            getLogisticsList(1);
        });

        var replyTemplObj = _.template($("#reply-templ").html());
        
        // 列表操作-- "处理"按钮
        $("#logistics-context").on("click", ".sel-reply-btn", function () {
            
            var replyUrl = $(this).attr("href") || '';
            
            var dia = dialog({
                    id : "comm-b2b-dialog",
                    title : "请输入处理备注",
                    width : 350,
                    height : 190,
                    content : replyTemplObj(),
                    onshow : function () {
                       
                       var that = this;
                       
                       var diaBody = $("[id='content:comm-b2b-dialog']");
                       var replyTxt = diaBody.find("textarea");
                       
                       // 处理
                       diaBody.find(".sel-edit-btn").on("click", function(){
                           updLogistic( replyUrl, replyTxt.val(), dia);
                           that.remove();
                       });
                       
                       // 取消
                       diaBody.find(".sel-cancel-btn").on("click", function(){
                           that.remove();
                       });
                       
                    }
                });
            dia.showModal();

        });
    };
    
    /**
     * 处理"物流询价"<br/>
     *
     * @param url {string}  当前询价记录ajax地址.
     * @param text {string} 回复内容.
     * @param dialogObj {object} 弹出框对象
     *
     * @author fsl-gonglong-20151126.
     */
    function updLogistic(url, text, dialogObj) {
        
        $.ajax({
            url : url || '',
            type : "put",
            data : {
                reply_text : text || '',
                _token : COMM_DATA.csrfToken
            },
            success : function (result) {
                
                dialogObj.remove();
                renderList(result);
            },
            error : function (status, result) {
                
                dialogObj.remove();
                
                var errorMsg = "";
                if (typeof result.responseJSON != 'undefined'
                     && typeof result.responseJSON.data != 'undefined') {
                    errorMsg = result.responseJSON.data;
                }

                var conf = {
                    title : "提示",
                    message : errorMsg || "处理数据失败!",
                    ok_txt : "确定"
                };
                adminUtil.showMsg(conf);
            }
        });
    };

    /**
     * 获取物流信息列表.<br/>
     *
     * @author fsl-gonglong-20151126
     */
    function getLogisticsList(page) {

        $.ajax({
            url : PAGE_DATA.REST_API.get_logistics_list || '',
            type : "get",
            data : {
                // 公司名称
                company : $("#company").val() || '',
                // 联系电话
                tel : $("#contact-tel").val() || '',
                state : $("#state").val() || '',

                page : parseInt(page || 1),
                pageSize : 10,
            },
            success : function (result) {
                renderList(result);
            },
            error : function (status, result) {

                var errorMsg = "";
                if (typeof result.responseJSON != 'undefined'
                     && typeof result.responseJSON.data != 'undefined') {
                    errorMsg = result.responseJSON.data;
                }

                var conf = {
                    title : "提示",
                    message : errorMsg || "获取数据失败!",
                    ok_txt : "确定"
                };
                adminUtil.showMsg(conf);
            }
        });

    };

    /**
     * 渲染列表数据, 翻页.
     *
     * @param ajaxResult {object} ajax请求返回的数据对象.
     *
     * @author fsl-gonglong-20151126
     */
    function renderList(ajaxResult) {
        
        var onClickObj = {
            onClick : function () {
                var clickPage = $(this).attr("data-page");
                getLogisticsList(clickPage);
            }
        };

        var dataList = $.extend([], ajaxResult.data);

        //  表格数据模板.
        var tmplObj = _.template($("#tbl-list-templ").html());

        var dataHtml = tmplObj(dataList);
        $("#logistics-context").html(dataHtml);

        // 翻页.
        var defaultPagingObj = {
            total : 0,
            pageSize : 0,
            page : 0
        };

        var pagingConf = $.extend(defaultPagingObj, ajaxResult.pagingConfData, onClickObj);

        adminUtil.initPaging('#comm-paging', pagingConf);
    };

    $(function () {

        initPage();

        bindEvent();

        // 初始化，获取第一页数据.
        getLogisticsList(1);

    });

})(jQuery);